package com.wll.ppjoke.utils;

import android.graphics.Color;
import android.graphics.Typeface;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;
import android.util.Log;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Locale;

public class StringConvert {
    private static final String TAG = "StringConvert";

//    StringConvert.convertFeedUgc(1525);
//    StringConvert.convertFeedUgc(15265);
//    StringConvert.convertFeedUgc(96149);
//    StringConvert.convertFeedUgc(45454656);
//    StringConvert.convertFeedUgc(216421641);
//    StringConvert.convertFeedUgc(4242414);
//    StringConvert.convertFeedUgc(8543435);
    public static String convertFeedUgc(int count) {
//        Log.e("StringConvert", String.valueOf(count));
        String result;
        if (count < 10000) {
            result = String.valueOf(count);
        } else if (count < 100000000) {
            result = String.format(Locale.CHINA, "%.1f", (double) count / 10000) + "万";
        } else {
            result = String.format(Locale.CHINA, "%.1f", (double) count / 100000000) + "亿";
        }
//        Log.e("StringConvert", result);
        return result;

//        Log.e("StringConvert", String.valueOf(count));
////        BigDecimal bk = new BigDecimal(1000);
//        BigDecimal bw = new BigDecimal(10000);
//        BigDecimal by = new BigDecimal(100000000);
//        BigDecimal bn = new BigDecimal(count);
//
//        BigDecimal result = new BigDecimal(0);
//        String formatedNum = "";//输出结果
//        String unit = ""; //单位
//
//        /*if (bn.compareTo(bk) < 0) { // 小于一千
//            return String.valueOf(count);
//        } else if ((bn.compareTo(bk) == 0 || bn.compareTo(bk) > 0) || bn.compareTo(bw) < 0) { // 一千到一万之间
//            result = bn.divide(bk);
//            unit = "千";
//        } */
//        if (bn.compareTo(bw) < 0) { // 小于一万
//            return String.valueOf(count);
//        } else if (bn.compareTo(by) < 0) { // 万到亿之间
//            result = bn.divide(bw);
//            unit = "万";
//        } else { // 一亿以上
//            result = bn.divide(by);
//            unit = "亿";
//        }
//        formatedNum = result.toString();
//        Log.e("StringConvert", formatedNum);
//        StringBuffer sb = new StringBuffer();
//        if (!"".equals(formatedNum)) {
//            int i = formatedNum.indexOf(".");
//            if (i == -1) {
//                sb.append(formatedNum).append(unit);
//            } else {
//                i = i + 1;
//                String v = formatedNum.substring(i, i + 1);
//                if (!v.equals("0")) {
//                    sb.append(formatedNum.substring(0, i + 1)).append(unit);
//                } else {
//                    sb.append(formatedNum.substring(0, i - 1)).append(unit);
//                }
//            }
//        }
//        if (sb.length() == 0)
//            return "0";
//        Log.e("StringConvert", sb.toString());
//        return sb.toString();
    }

    public static String convertTagFeedList(int num) {
//        if (num < 10000) {
//            return num + "人观看";
//        } else {
//            return num / 10000 + "万人观看";
//        }
        String result;
        if (num < 10000) {
            result = num + "人观看";
        } else if (num < 100000000) {
            result = String.format(Locale.CHINA, "%.1f", (double) num / 10000) + "万人观看";
        } else {
            result = String.format(Locale.CHINA, "%.1f", (double) num / 100000000) + "亿人观看";
        }
        return result;
    }

    public static CharSequence convertSpannable(int count, String intro) {
        String countStr = String.valueOf(count);
        SpannableString ss = new SpannableString(countStr + intro);
        ss.setSpan(new ForegroundColorSpan(Color.BLACK), 0, countStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        ss.setSpan(new AbsoluteSizeSpan(16, true), 0, countStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        ss.setSpan(new StyleSpan(Typeface.BOLD), 0, countStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        return ss;
    }


}
